// pages/addressList/addressList.js
Page({

  /**
   * 页面的初始数据
   */
  data: {

    addressid: null,//当前所选择的地址id
    address: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
  
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    //将内存中的地址同步至页面中的数据address中
    var address = wx.getStorageSync("addrList");
    //console.log(address)
    this.setData({
      address: address
    })
    //判断全局变量中的订单收货地址是否为空
    if (getApp().globalData.order.addressInfo == null)
    {
      //为空说明用户没有选择过地址,让addressid保持默认值null即可
    }
    else
    {
      //不为空，说明用户已经选择过，并且每次选择地址都会进行数组置顶操作，所以赋值id为0
      this.setData({
        addressid: 0
      })
    }
    

  },
  //----------------------------------跳转到新增收货地址页面
  navigateToAddNewAddrPage:function()
  {
      wx.navigateTo({
        url: '../../pages/newAddr/newAddr',
      })
  },
   //----------------------------------点击选中此栏中的单选框
  radioSelect:function(e){
    let index = e.currentTarget.dataset.id
    this.setData({
      addressid: index
    })
    //记录当前地址至全局变量，并跳转到订单选择界面
    getApp().globalData.order.addressInfo = this.data.address[index];
    wx.navigateBack({
      delta: 1
    })
    //将每次选中的收货地址，置顶排序
    var address=this.data.address;
    var select = address[index];
    address.splice(index,1) //在原数组中删除选中的地址
    address.splice(0, 0, select);
    wx.setStorageSync('addrList', address)
  },

  //----------------------------------删除指定的配送地址
  deleteAddress:function(e){
    var that=this;
    var id=e.currentTarget.dataset.id;
    var address = this.data.address;
      wx.showModal({
        title: '友情提示',
        content: '确认删除此条配送地址吗？',
        success:function(res){
          if(res.cancel) //用户点击取消，啥也不做
          {
              return;
          }
          else if(res.confirm) //用户点击确定
          {      
            //从数组中剔除此项
            address.splice(id, 1)

           //判断删除的地址，是否为当前所选择的地址，如果是的话还要清空全局变量
            if (that.data.addressid==id)
            {
              that.setData({
                addressid:null
              })
              getApp().globalData.order.addressInfo =null
            }
            //同步至页面数据
            that.setData({
              address: address
              })

            //同步至存储文件中
            wx.setStorageSync('addrList', address)
          }
        }
      })
  },

  //----------------------------------编辑选中的配送地址
  editAddress:function(e){
    var id=e.currentTarget.dataset.id;
    var editAddrInfo = this.data.address[id];
    wx.navigateTo({
      url: '../../pages/newAddr/newAddr?editAddrInfo=' + JSON.stringify(editAddrInfo) + '&addressid=' + id,
    })

  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  }
})